import { reactive } from 'vue';

const state = reactive<{
  /**
   * 当前页
   */
  activePage: number;
  /**
   * 加载状态
   */
  loading: boolean;
  /**
   * 加载完成状态
   */
  finished: boolean;
  /**
   * 列表
   */
  list: AppScheduleAttendanceRecord.Dto[];
}>({
  activePage: 1,
  loading: false,
  finished: false,
  list: [],
});

/**
 * 筛选state
 */
const filterState = reactive<{
  /**
   *筛选项
   */
  filterItemList: { name: string }[];

  /**
   * 筛选提示框是否显示
   */
  filterItemVisible: boolean;

  /**
   *时间选择器是否显示
   */
  TimePickerVisible: boolean;

  /**
   * 筛选开始时间
   */
  startTime?: string;
  /**
   * 筛选结束时间
   */
  endTime?: string;
  /**
   * 0没选择开始时间框还是结束时间框
   * 1 开始时间框
   * 2 结束时间框
   */
  currentSelectedTime?: 0 | 1 | 2;
}>({
  filterItemVisible: false,
  filterItemList: [{ name: '全部' }, { name: '按时间筛选' }],
  TimePickerVisible: false,
  startTime: '',
  endTime: '',
  currentSelectedTime: 0,
});

export { state, filterState };
